﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Dominio.Repositorios;
using NHibernate;
using Dominio;
using FluentNHibernate;
using NHibernate.Linq;

namespace Infra.Repositorios {
    internal class UsuarioRepository : IUsuarioRepository {
        private ISession _Session;

        public UsuarioRepository(ISession session) {
            _Session = session;
        }

        public Usuario Obtem(long id) {
            return _Session.Get<Usuario>(id);
                        /*.Query<Usuario>()                        
                        .Fetch(x => x.Contas)
                        .Where(x => x.Id == id)
                        .Cacheable()
                        .SingleOrDefault();*///.Get<Usuario>(id);
        }

        public void Salvar(Usuario usuario) {
            _Session.SaveOrUpdate(usuario);
        }
    }
}
